597 Don't render regions up-front to see if they are empty #601
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What does this change?
Does not render regions in
localgov_base_preprocess_page()
when determining things likehas_sidebars
.A region is now considered non-empty if it one or more blocks are placed within it (and those blocks are configured to be visible).
We do not consider what those blocks will actually output (if anything).
If a block is placed but produces no output, its region is still considered to be non-empty.
This is closer to Drupal's core behaviour and is necessary for placeholdering and BigPipe to work properly.
See #597 for discussion
How to test
How can we measure success?
An otherwise cacheable page with an uncacheable block in a sidebar will now be cacheable.
Have we considered potential risks?
Sites which rely on this to hide sidebars when blocks do not produce content may find that those sidebars now appear.
That can be mitigated against, with:
:has
to detect emptiness on the client sideAccessibility